package com.bdzl.auth.service;

import com.bdzl.pub.common.Tree;
import com.bdzl.pub.entity.sys.MeauDO;
import com.bdzl.pub.entity.sys.RoleMeauDO;

import java.util.List;
import java.util.Map;

/**
 * 角色与菜单关系表
 * 
 * @author yangyicai
 * @email yangyicai@foxmail.com
 * @date 2021-03-23 13:59:22
 */
public interface RoleMeauService {
	
	RoleMeauDO get(Integer id);

	/**
	 * @Author Zhn
	 * @Description //TODO 根据角色查询菜单列表树状图
	 * @Date 11:52 2021/5/11
	 * @Param [roleId] 角色Id
	 * @return java.util.List<com.bdzl.pub.entity.sys.MeauDO>
	 **/
	List<Tree<MeauDO>> getMeauDOtreeByRoleId(Integer roleId,String type);

	List<RoleMeauDO> list(Map<String, Object> map);

	/**
	 * @Author Zhn
	 * @Description //TODO 根据角色查询菜单列表
	 * @Date 11:52 2021/5/11
	 * @Param [roleId,type] 角色Id  菜单类型
	 * @return java.util.List<com.bdzl.pub.entity.sys.MeauDO>
	 **/
	List<MeauDO> getByRoleId(Integer roleId,String type);
	
	int count(Map<String, Object> map);
	
	int save(RoleMeauDO roleMeau);
	
	int update(RoleMeauDO roleMeau);
	
	int remove(Integer id);

	int removeByRoleId(Integer roleId);
	
	int batchRemove(Integer[] ids);

	List<String> listMenuIdByRoleId(String roleId,String meauClassify);
}
